import logging

# 配置日志
logging.basicConfig(level=logging.ERROR)
logger = logging.getLogger(__name__)

def register_error_handlers(app):
    """注册错误处理器"""
    
    @app.errorhandler(404)
    def not_found(error):
        logger.error(f"404 error: {str(error)}")
        return {'code': 404, 'message': '资源不存在', 'data': None}, 404
    
    @app.errorhandler(500)
    def internal_error(error):
        logger.error(f"500 error: {str(error)}")
        return {'code': 500, 'message': '服务器内部错误: ' + str(error), 'data': None}, 500
    
    @app.errorhandler(400)
    def bad_request(error):
        logger.error(f"400 error: {str(error)}")
        return {'code': 400, 'message': '请求参数错误', 'data': None}, 400
    
    @app.errorhandler(405)
    def method_not_allowed(error):
        logger.error(f"405 error: {str(error)}")
        return {'code': 405, 'message': '请求方法不允许', 'data': None}, 405